#include <iostream>
#include <vector>
template <typename E>
void printVector(const std::vector<E> &v)
{
    for (const E &e : v)
    {
        std::cout << e << " ";
    }
    std::cout << std::endl;
}

template <typename E>
void print(const E &e)
{
    std::cout << e << std::endl;
}

int main(int argc, char const *argv[])
{
    int arr[] = {1, 3, 2, 4, 0, 1, 2, 6, 4, 0};
    std::vector<int> v1{};
    v1.assign(arr, arr + 10);
    printVector(v1);

    std::vector<int> v2{};
    v2.assign(5, 999);
    printVector(v2);

    std::vector<int> v3{};
    v3 = v1;
    printVector(v1);
    printVector(v3);

    v3.swap(v2);
    printVector(v2);
    printVector(v3);

    return 0;
}
